맨위로가기

NEC V20

"오늘의AI위키"는 AI 기술로 일관성 있고 체계적인 최신 지식을 제공하는 혁신 플랫폼입니다.
"오늘의AI위키"의 AI를 통해 더욱 풍부하고 폭넓은 지식 경험을 누리세요.

1. 개요

NEC V20은 일본전기가 개발한 x86 아키텍처 기반의 마이크로프로세서로, 인텔 8088 및 8086 프로세서와 호환되는 V20, V30 시리즈를 포함한다. 1980년대 초반에 출시되어 CMOS 기술과 내부 버스 개선을 통해 성능을 향상시켰으며, 8080 에뮬레이션 모드를 제공하여 CP/M 운영체제와의 호환성을 확보했다. NEC는 인텔과의 마이크로코드 저작권 소송에서 승리한 후 독자적인 아키텍처를 개발했으며, V20/V30을 기반으로 주변 장치를 통합한 임베디드 프로세서 V40, V50 등을 출시하여 임베디드 시스템 시장을 공략했다. 이후 32비트 CISC CPU인 V60, V70, V80을 개발하고, RISC 아키텍처 기반의 V800 시리즈를 통해 임베디드 시스템 시장에서의 경쟁력을 강화했다.

더 읽어볼만한 페이지

  • 16비트 마이크로프로세서 - 인텔 8086
    인텔 8086은 1978년 인텔에서 개발한 16비트 마이크로프로세서로, 8비트 프로세서인 인텔 8080을 확장하여 20비트 어드레스 버스를 통해 1MB의 메모리 공간을 지원하며 IBM PC에 채택되어 x86 아키텍처의 상업적 성공을 이끌었다.
  • 16비트 마이크로프로세서 - 인텔 80286
    인텔 80286은 1984년에 출시된 16비트 x86 마이크로프로세서로, 8086과 호환되며 16MB의 물리 메모리와 1GB의 가상 메모리를 지원하고 보호 모드를 통해 멀티태스킹을 가능하게 했다.
NEC V20
NEC V20 (μPD70108)
8 MHz V20 플라스틱 DIP 패키지
8 MHz V20 플라스틱 DIP 패키지
생산 시작1984년 3월
제조사NEC (μPD70108)
제조사 2Sharp (LH70108)
제조사 3Sony (CXQ70108)
제조사 4Zilog (Z70108)
데이터 폭16비트
트랜지스터 수63000
코어 수1
코프로세서Intel 8087, NEC μPD72091
이전 제품해당 없음
다음 제품NEC V60

2. 역사적 배경

일본전기(NEC)는 NEAC, ACOS와 같은 대형 컴퓨터를 개발하고, 트랜지스터와 집적 회로를 제조해 온 반도체 회사였다. NEC는 세계 최초로 마이크로프로세서를 개발한 기업 중 하나로, 1970년대에 μCOM 시리즈를 개발했다. μCOM 시리즈는 자체 사양, 인텔 계열, 자일로그 Z80 호환 제품 등을 포함했다.

1980년대, NEC는 V 시리즈를 개발했다. 1980년대 전반에는 8088·8086 호환 모델을 CMOS화하고 내부 버스를 확장한 V20·V30을 개발했다.[5] 이 CPU들을 기반으로 주변 회로를 통합한 V40·V50, 고성능 V33 등을 출시했다. 그러나 V30은 소송으로 인해 상업적 기회를 충분히 얻지 못했고, 해외에서는 8088 호환 V20이 더 널리 사용되었다.

NEC는 고성능 32비트 CPU인 V60·V70·V80도 개발했다. 또한, V 시리즈 외에 마이크로컨트롤러 78K 시리즈도 출시했다.

V10은 CMOS 버전 Z80 호환 CPU인 μPD70008에 부여될 예정이었으나, 소송 문제를 고려하여 V 시리즈에서 제외되었다.[4] μPD70008의 기반이 된 μPD780은 μCOM-82로 판매되었지만, 자일로그와 세컨드 소스 계약을 맺지 않아 소송을 당했다(후에 화해).

1990년대에 NEC는 독자 사양 RISC인 V810을 개발했다. V805, V820, V821, V830, V850 패밀리가 출시되었다.

2. 1. 초기 개발 및 인텔과의 호환성 (1980년대)

일본전기(NEC)는 1980년대 초반, 인텔의 8088 및 8086 프로세서와 호환되는 V20 및 V30 프로세서를 출시했다.[5] 이들 프로세서는 성능 향상을 위해 CMOS 기술을 채택하고 내부 버스 구조를 개선했다.

V20(μPD70108)은 8088과 핀 호환이 가능했으며, 데이터 버스는 8비트였다.[5] V20의 다이는 63,000개의 트랜지스터로 구성되어 8088 CPU의 29,000개보다 두 배 이상 많았다. 초기 버전은 5, 8, 10 MHz의 속도로 작동했다. 1990년에는 성능이 향상되고 전력 소비가 감소된 V20H 및 V20HL이 출시되었으며, 이후 12 및 16 MHz의 속도를 추가했다. 탠디 1110 등에 사용되었다.

V30(μPD70116)은 8086과 핀 호환이 가능했으며, 데이터 버스는 16비트였다.[5] PC-9800 시리즈 외에도 동사의 수출용 노트북 PC인 :w:NEC UltraLite에 채용되었다. PC-9801VM, Psion Series 3 등에 사용되었다.

V20 및 V30은 8080 에뮬레이션 모드를 제공하여 CP/M 운영체제 기반의 소프트웨어와의 호환성을 확보했다.

2. 2. 법적 분쟁과 독자 노선 (1980년대 중반 ~ 1990년대 초)

1982년, 인텔은 NEC를 상대로 μPD8086 및 μPD8088에 대한 소송을 제기했다. 이 소송은 법정 밖에서 해결되었으며, NEC는 인텔로부터 설계를 라이선스하기로 합의했다.

1984년 말, 인텔은 V20과 V30의 마이크로코드가 8088 및 8086 프로세서에 대한 자사의 특허를 침해했다며 다시 NEC를 상대로 소송을 제기했다. NEC 소프트웨어 엔지니어 히로아키 카네코는 인텔 CPU의 하드웨어 설계와 원래 인텔 마이크로코드를 모두 연구했다.

마이크로코드 저작권 문제로, NEC는 1984년에 V 시리즈가 인텔의 저작권을 침해하지 않는다는 것을 확인하는 소송(채무 부존재 확인 소송)을 제기했다. 인텔은 이에 반소했고, 재판은 5년 후인 1989년에 V30이 i8086의 저작권을 침해하지 않는다는 판결로 이어졌다. 이는 8086에 저작권 표시가 없어 해당 제품에 대한 저작권이 인정되지 않았기 때문이다. 한편, 마이크로코드에도 저작권이 있다는 판결로 인해 호환 프로세서 제조가 어려워졌다. NEC는 86계 마이크로코드 저작권 침해를 피하기 위해 완전히 하드 와이어드화된 V33계로 이행했다.

법원은 제어 저장소의 마이크로코드가 컴퓨터 프로그램에 해당하며 저작권으로 보호된다고 결정했다. 또한, 인텔이 모든 2차 공급원 칩에 적절한 표시를 하지 않아 저작권을 포기한 것으로 판단했다. 법원은 NEC가 인텔의 마이크로코드를 단순히 복사하지 않았으며, V20과 V30의 마이크로코드가 인텔의 특허를 침해하지 않을 정도로 충분히 다르다고 결정했다.

사건의 판사는 NEC의 클린 룸 증거를 받아들였다. 그는 또한 Rev.0 코드에 대한 언급 없이, NEC가 Rev.2 마이크로코드를 제작하는 데 사용한 리버스 엔지니어링의 사용을 승인했다.

V30은 μPD8080AF(μCOM-80F) 기반의 8080 에뮬레이션 기능을 구현했다. V30은 80186과 바이너리 상위 호환성을 유지했지만, V30 고유 명령어[9]80286에서 실행하면 무효 opcode 예외가 발생하고, 80386 이후에서는 인텔이 다른 명령어를 할당했기 때문에 오작동한다.

오퍼레이션 코드V30 명령어인텔 명령어
64REPNCFS:
65REPCGS:
66FPO2오퍼랜드 크기 프리픽스
67FPO2주소 크기 프리픽스
0F 10, 11, 18, 19TEST1SSE 명령어
0F 12, 13, 1A, 1BCLR1SSE 명령어
0F 14, 15, 1C, 1DSET1SSE 명령어
0F 16, 17, 1E, 1FNOT1SSE 명령어
0F 20ADD4SMOV dest, CRn
0F 22SUB4SMOV CRn, src
0F 26CMP4SMOV TRn, src
0F 28ROL4SSE 명령어
0F 2AROR4SSE 명령어
0F 31INSRDTSC
0F 39INS없음
0F 33EXTRDPMC
0F 3BEXT없음
0F FFBRKEMUD0


2. 3. 독자 아키텍처 개발과 임베디드 시스템으로의 확장 (1990년대 ~)

NEC는 독자적인 32비트 마이크로프로세서 V60, V70, V80을 개발하여 고성능 컴퓨팅 시장을 공략했다. V60은 내부 32비트, 외부 16비트 버스 구조를 가지고 있었고, 부동 소수점 연산 장치(FPU)를 최초로 내장했다.[15] 세가의 아케이드 기판인 시스템32 및 모델 1 등에 사용되었다.[15] V70은 V60을 완전 32비트화한 CPU로, 업무용 게임 기판 등에 탑재되었다.[4] V80은 V60/V70의 상위 기종으로, 명령/데이터 캐시를 내장하고 7단 파이프라인 제어 방식, 분기 예측 기구를 갖추었지만, V30 에뮬레이션 기능은 제거되었다.

V70 (μPD70632GD-20) 자레코 메가 시스템 32 구현 예


이후 NEC는 1990년대에 독자 사양의 RISC인 V810을 출시했다. V810은 닌텐도버추얼 보이 등에 사용되었다.

닌텐도 64 (1996년 출시)의 CPU, VR4300 커스텀


V830은 PDA 등에 적합한 고성능 CPU로 개발되었으나, 널리 사용되지는 않았다. V850은 다양한 임베디드 시스템에 널리 사용되고 있다.

한편, NEC는 V40, V50 등 V20/V30 코어에 주변 장치를 통합한 임베디드 프로세서도 개발하여 다양한 분야에 적용했다.

3. 주요 제품군

NEC V20의 주요 제품군은 다음과 같이 분류할 수 있다.

제품부품 번호상세 정보
V20μPD701088088과 핀 호환, 데이터 버스 8비트, 탠디 1110에 사용[5]
V20HLμPD70108HV20의 고클럭(16Mhz), 저전력 버전
V25μPD70320, μPD70322V20에 주변 I/F를 추가한 임베디드용 프로세서, μPD70322는 μPD70320에서 ROM을 제거
V25+μPD70325V25의 DMA 전송 속도 개선과 고속화(10MHz)
V30μPD701168086과 핀 호환, 데이터 버스 16비트, 기능은 V20과 동일, Psion 3에 사용[5]
V30HLμPD70116HV30의 고클럭(16Mhz) 저전력 버전, PC-9801UF, PC-9801UR과 노트북 PC-9801NV, PC-9801NL에 사용
V30MZ임베디드용 IP코어, 휴대용 게임기 원더스완에 사용
V33μPD70136V30의 어드레스 버스와 데이터 버스를 분리, BRKXA와 RETXA 명령 추가로 16MB의 메모리 어드레싱 모드 지원, 마이크로코드 저작권 문제 해결을 위해 대부분의 명령어를 와이어 로직으로 변경하여 V30의 2배 성능으로 80286과 처리 속도가 동등, 8080 에뮬레이션 모드 제거
V33AμPD70136A인터럽트 벡터 등 인텔 80X86과의 호환성 개선, PC-98DO+에 사용
V35μPD70330V30에 주변I/F를 추가한 임베디드용 프로세서
V35+μPD70335V30의 DMA 전송 속도 개선 및 고속화(10MHz)
μPD9002V30 모드와 Z80 호환 모드를 가짐, PC-88VA에 사용
V40μPD70208V20에 클럭 제네레이터, DRAM 리프레시 컨트롤, μPD71054(i8254 호환) 타이머/카운트, μPD71051(i8251 호환) 시리얼 UART, μPD71059(i8259 호환) 인터럽트 컨트롤 유닛, μPD71071(i8237 호환) DMA 컨트롤 유닛을 내장
V50μPD70216V30에 클럭 제네레이터, DRAM 리프레시 컨트롤, μPD71054(i8254 호환) 타이머/카운트, μPD71051(i8251 호환) 시리얼 UART, μPD71059(i8259 호환) 인터럽트 컨트롤 유닛, μPD71071(i8237 호환) DMA 컨트롤 유닛을 내장
V41μPD70270V30HL에 8255 패러랠 포트 인터페이스, 8254 프로그래머블 인터벌 타이머, 8259 PIC, 8237 DMA 컨트롤러, 8042 키보드 컨트롤러, DRAM 컨트롤러 내장, 올리베티의 Quaderno XT-20에 사용
V51μPD70280V41과 동일하나 코어가 V30HL임.
V53μPD70236V50의 코어를 V33으로 변경
V53AμPD70236AV53의 코어를 V33A로 변경
V55PIμPD7043380186 명령어 세트와 주변기기를 내장
V60μPD70616내부 32비트, 외부 16비트, 24비트 어드레스 버스의 32비트 CISC CPU, 이전 CPU와는 달리 NEC 고유의 명령어 세트가 특징이며 V30 에뮬레이트 모드와 FPU를 내장. 세가 시스템32와 세가 모델 1에 사용.
V70μPD70632V60을 내/외부 버스를 32비트로 변경, 세가 시스템 멀티 32와 자레코 메가 시스템 32에 사용.
V80마지막 CISC CPU, V30 에뮬레이트 모드 제거
V20, V30용 FPUuPD71091인텔 8087과는 동작이 달라 별도의 보조회로 필요
V800RISC CPU로 V810/V830/V850 등이 있음. NEC PC-FX닌텐도 버추얼 보이에 사용



메인보드 위의 V20


NEC V30 (μPD70116), 10 MHz


NEC V33A (μPD70136AL)


NEC V40 (μPD70208)


NEC V53A (μPD70236A)

3. 1. 8비트 프로세서

V10은 결번이다. 당초 CMOS 버전 Z80 코드 호환 CPU인 μPD70008에 V10이라는 명칭을 부여하여 판매할 계획이었으나, 자일로그와 세컨드 소스 계약을 하지 않아 제소되었고(나중에 화해), 소송 문제의 영향을 고려하여 V 시리즈에서 제외하는 방침으로 했기 때문에 결국 사용되지 않았다[4]. μPD70008의 바탕이 된 μPD780은 μCOM-82로 명명하여 판매되었다.

μPD70008A V10 표기 없음

  • ''V10'' (μPD70008): 실제로는 그 명칭으로 정식 출시되지 않아 V 시리즈는 아니다. μPD780(μCOM-82) (NMOS-CPU)의 CMOS 버전. A도 -숫자도 붙지 않은 것(D70008C)은 4MHz 버전.

3. 2. 16비트 프로세서 (V20/V30 계열)

V20 (μPD70108)은 8088과 호환되며, 데이터 버스가 8비트인 버전이다.[5] V20의 다이는 63,000개의 트랜지스터로 구성되었으며, 이는 8088 CPU의 29,000개보다 두 배 이상 많았다. V20은 2마이크론 CMOS 기술로 제작되었다. 초기 버전은 5, 8, 10 MHz의 속도로 작동했다.

V30 (μPD70116)은 8086과 핀 및 오브젝트 코드 호환이 가능한 16비트 외부 데이터 버스를 가진 프로세서이다. V30은 GTD-5 EAX Class 5 중앙 사무실 스위치에 사용된 8086에서 공장 업그레이드되었다. 또한 Psion Series 3, NEC PC-9801VM, Olivetti PCS86 등 다양한 곳에 사용되었다.

V20과 V30은 내부적으로 16비트 폭으로 묘사되며, V20은 8비트 외부 데이터 버스를, V30은 16비트 외부 데이터 버스를 사용한다. 20비트 폭의 주소 버스는 1MB의 메모리를 주소 지정할 수 있었다.

V20/V30의 ISA에는 비트 조작, 팩 BCD 연산, 곱셈 및 나눗셈과 관련된 명령어를 포함하여 8088/8086에서 실행되지 않는 여러 명령어가 포함되어 있었다. 또한 인텔 80286의 새로운 실 모드 명령어들도 포함한다.

V20은 8080 CPU를 에뮬레이션하는 모드를 제공했다. `BRKEM` 명령어를 실행하여 8080 에뮬레이션을 시작하고, `RETEM` 명령어를 통해 종료한다.

V33 (μPD70136)은 V30의 어드레스/데이터 버스를 분리하고, 마이크로프로그래밍된 제어 저장소 대신 하드와이어된 로직으로 명령어 디코딩을 수행하는 버전이다. V33은 인텔 80286과 동등한 성능을 가지며, 16MB 메모리 주소 공간을 지원하고, 8080 에뮬레이션 모드는 제거되었다. V33A (μPD70136A)는 V33의 인터럽트 벡터 등 인텔 80X86과의 호환성을 개선한 버전이다.

V25 (μPD70320, μPD70322)는 V20에 주변 I/F를 추가한 임베디드용 프로세서이며, V25+ (μPD70325)는 V25의 DMA 전송 속도를 개선 및 고속화한 버전이다. V35 (μPD70330)는 V30에 주변 I/F를 추가한 임베디드용 프로세서이며, V35+ (μPD70335)는 V30의 DMA 전송 속도를 개선 및 고속화한 버전이다.

제품부품 번호상세 정보
NEC V20μPD701088088 호환, 8비트 데이터 버스.
NEC V30μPD701168086 호환, 16비트 데이터 버스.
NEC V20HLμPD70108HV20의 고클럭, 저전력 버전.
NEC V30HLμPD70116HV30의 고클럭, 저전력 버전.
NEC V25μPD70320, μPD70322V20에 주변 I/F를 추가한 임베디드용 프로세서.
NEC V25+μPD70325V25의 DMA 전송 속도 개선 및 고속화.
NEC V33μPD70136V30의 어드레스/데이터 버스 분리, 16MB 메모리 어드레싱 지원, 8080 에뮬레이션 모드 제거.
NEC V33AμPD70136AV33의 인터럽트 벡터 등 인텔 80X86과의 호환성 개선.
NEC V35μPD70330V30에 주변 I/F를 추가한 임베디드용 프로세서.
NEC V35+μPD70335V35의 DMA 전송 속도 개선 및 고속화.
V30MZ임베디드용 IP 코어, 반다이의 휴대용 원더스완 게임 콘솔에 사용.
μPD9002V30 모드와 Z80 호환 모드를 가짐, PC-88VA에 사용.


3. 3. 임베디드 프로세서 (V40/V50 계열)

V20/V30을 코어로, 8086용 주변 칩을 집적한 마이크로컨트롤러이다. 기존의 8086 응용 기기에서 여러 칩을 통합하여 교체하는 용도로 사용되었다. PC-98LT나 PC-98HA에서 사용되었다. 내장된 주변 회로는 다음과 같다.

  • '''클럭 제네레이터''': 입력된 클럭의 주파수를 2분주하여 CPU 내부와 외부 각각에 공급한다.
  • '''프로그래머블 웨이트 제어 유닛''': 속도가 느린 I/O나 메모리를 사용할 때 읽기 및 쓰기 버스 타이밍을 연장하기 위한 장치.
  • '''리프레시 제어 유닛''': DRAM을 사용할 때, 자동으로 리프레시를 수행한다.
  • '''타이머/카운터 유닛 (μPD71054 서브세트)''': 타이머 및 카운터. 16비트 카운터를 3개 내장하고 있다.
  • '''시리얼 제어 유닛 (μPD71051 서브세트)''': 비동기식 시리얼 통신 방식의 시리얼 통신을 수행한다.
  • '''인터럽트 제어 유닛 (μPD71059 서브세트)''': 최대 8개의 하드웨어 인터럽트를 조정하여 하나씩 CPU에 전달한다. 외부에 μPD71059를 추가하여 캐스케이드 연결도 가능하다.
  • '''DMA 제어 유닛 (μPD71071[16] 서브세트)''': 4채널 DMA 유닛. 이를 통해 고속으로 I/O - 메모리 간의 전송을 실현할 수 있다.


또한 V40/V50을 기반으로 한 커스텀 CPU도 몇몇 존재하며, PC-88VA에 탑재된 μPD9002 (V50에 Z80 에뮬레이션 기능을 추가한 것) 등이 대표적이다.

  • '''V40''' (μPD70208): V20에 8086 패밀리 호환 주변 I/F를 추가한 임베디드 용도 프로세서. 코어를 V20HL로 한 '''V40HL''' (μPD70208H)도 있다.
  • '''V41''' (μPD70270): V40HL과 동일한 컨셉으로, V20HL에 PC/XT용 주변 회로를 내장한 것. 해외에서는 실제로 이것을 사용한 PC/XT 호환기도 출시되었다.
  • '''V50''' (μPD70216): V30에 8086 패밀리 호환 주변 I/F를 추가한 임베디드 용도 프로세서. 코어를 V30HL로 한 '''V50HL''' (μPD70216H)도 있다. PC-98HA에서 사용되었다.
  • '''V51''' (μPD70280): V41과 동일하며, 코어가 V30HL인 것. μPD9002와는 코어가 V30 계열이며 주변 회로를 내장하고 있다는 점 외에는 관련이 없다.
  • '''V53''' (μPD70236): V50의 코어를 V33으로 변경한 것.
  • '''V53A''' (μPD70236A): V53의 코어를 V33A로 변경한 것.
  • '''V55PI''' (μPD70433): 80186 상당의 명령 세트와 주변 장치를 집적한 프로세서.

3. 4. 32비트 프로세서 (V60/V70/V80)

일본전기(NEC)는 고성능을 목표로 독자 사양의 32비트 CPU인 '''V60·V70·V80'''을 개발했다.[5]

3. 5. RISC 프로세서 (V800 시리즈)

V810 (μPD70732)은 1990년대에 출시된 RISC 프로세서로, 모델명에 V가 붙어 있지만 기존 V 시리즈와는 직접적인 연관이 없는 완전히 다른 아키텍처를 기반으로 한다. 헤네시-패터슨의 저서에서 볼 수 있는 전형적인 5단 파이프라인 구성을 가진다.

V810은 기존 임베디드용 CPU 시리즈를 대체하거나 후속하는 기종으로 임베디드 용도로 사용되었다. 특히, 일본 전기 홈 일렉트로닉스에서 제작한 가정용 게임기 PC-FX닌텐도버추얼 보이, BrainPad TiPO에 사용되었다.

V830은 PDA 등에 적합한, V810/V850보다 고성능 CPU로 개발되었다. NEC의 워드 프로세서 "분고 JXS300" (1997년 출시) 등에 탑재되었으나, 다른 제품에는 많이 채용되지 않았다.

V850은 르네사스 일렉트로닉스에서 제조하는 반도체 제품의 CPU로 사용된다. 예를 들어 기록형 DVD/HD DVD/BD 드라이브용 칩셋인 SCOMBO 시리즈의 CPU나, SCOMBO 시리즈에 속하는 원칩 컨트롤러의 내장 CPU 코어로 제공되며, 소니 옵티아크나 파이오니아 등에서 제조한 광학 드라이브에 채용되어 대량으로 사용되고 있다. 그 외에도 가전제품, FA 기기의 서보 모터, 승용차용 내연 기관 및 각종 구동용 모터 제어 등 다양한 분야에서 사용되고 있다.

일부 어셈블러의 형식이 V60 - V80과 유사하게 되어 있어, 기존 V60 - V80용 소프트웨어를 개발했던 프로그래머가 쉽게 학습할 수 있도록 배려되었다.

4. 한국 내 사용 사례

NEC의 V 시리즈 프로세서는 다양한 제품에 사용되었는데, 특히 한국에서도 여러 제품에서 찾아볼 수 있다.


  • '''PC-9800 시리즈''': V30, V33, V50 등 다양한 V 시리즈 프로세서가 사용되었다.
  • '''8088/8086 호환 PC''': V20, V30 등이 사용되어 성능 향상을 꾀했다.
  • '''워드프로세서 전용기 '분고 미니' ''': V20, V33A, V60 등이 사용되었다.
  • '''게임기''': 원더스완(V30MZ), PC-FX(V810), 버추얼 보이(V810) 등


이처럼 V 시리즈는 PC뿐만 아니라 워드프로세서, 게임기 등 다양한 분야에서 활용되었다.

5. 기술적 특징 및 의의

V20과 V30은 NEC가 개발한 마이크로프로세서로, 80888086과의 호환성을 가지면서도 독자적인 기능을 추가하여 성능을 향상시켰다.

V20은 8088과 핀 호환이 가능하며, 8비트 데이터 버스를 사용했다. 탠디 1110에 사용되기도 했다. V20의 다이는 63,000개의 트랜지스터로 구성되어 8088 CPU의 29,000개보다 두 배 이상 많았으며, 50%의 클럭 듀티 사이클로 설계되어, 8088에서 사용된 33%보다 효율적이었다. 또한, 두 개의 16비트 폭 내부 데이터 버스를 가지고 있어 두 개의 데이터 전송을 동시에 처리할 수 있었다. 이러한 차이점으로 인해 V20은 같은 주파수에서 작동하는 인텔 8088보다 일반적으로 더 많은 명령을 완료할 수 있었다.

V30은 8086과 핀 호환이 가능하며, 16비트 데이터 버스를 사용했다. 기능은 V20과 동일하며, Psion 3에 사용되기도 했다. V20과 V30은 NEC 고유의 확장 명령어를 통해 성능 향상을 꾀했다. 다만, V30의 고유 명령어는 80286 이후 인텔 CPU에서 지원되지 않아 널리 쓰이지는 않았다.[7]

V30은 마이크로코드 저작권 침해 소송의 대상이 되기도 했다. 1984년 NEC는 V 시리즈가 인텔의 저작권을 침해하지 않는다는 것을 확인하는 소송(채무 부존재 확인 소송)을 제기했고, 인텔의 반소로 재판이 길어졌지만, 1989년 V30은 i8086의 저작권을 침해하지 않는다는 판결을 받았다. 그러나 이는 8086에 저작권 표시가 없어 저작권이 인정되지 않았기 때문이며, 한편으로는 마이크로코드에도 저작권이 있다는 것이 판시되어 호환 프로세서 제조가 어려워졌다.

이러한 판결은 NEC가 독자적인 아키텍처를 개발하는 계기가 되었다. 특히, 마이크로코드 저작권 침해 문제를 피하기 위해 V33에서는 마이크로코드를 완전히 하드 와이어드 로직으로 대체하여 성능을 향상시켰다. V33은 V30의 어드레스 버스와 데이터 버스를 분리하고, BRKXA와 RETXA 명령을 추가하여 16MB의 메모리 어드레싱 모드를 지원했으며, 대부분의 명령어를 와이어 로직으로 변경하여 V30의 2배 성능으로 80286과 처리 속도가 동등했다. 8080 에뮬레이션 모드는 제거되었다.

NEC는 V20·V30 CPU를 기반으로 주변 장치를 통합한 V40, V50 등을 출시하여 임베디드 시스템 개발에 적합하도록 했다.[5] 이들은 기존의 8086 응용 기기에서 여러 칩을 통합하여 대체하는 용도로 사용되었으며, PC-98LT나 PC-98HA에서 V40과 V50이 사용되었다.

NEC는 V 시리즈 외에 마이크로컨트롤러인 '''78K''' 시리즈를 전개하고 있다. 1990년대에는 독자 사양의 RISC인 V810을 개발하여 V805, V820, V821, V830, V850 패밀리로 전개했다.

5. 1. x86 호환성과 독자적 확장

V20과 V30은 8086/8088과 핀 및 코드 호환성을 가지면서도, NEC 고유의 확장 명령어를 추가하여 성능 향상을 꾀했다. V30의 고유 명령어는 80286 이후 인텔 CPU에서는 지원되지 않아 널리 쓰이지는 않았지만, 일부 소프트웨어에서 활용되었다.[7]

V20의 명령어 집합(ISA)에는 비트 조작, 팩 BCD 연산, 곱셈 및 나눗셈 관련 명령어를 포함, 8088에서 실행되지 않는 여러 명령어가 포함되었다. 인텔 80286의 새로운 실 모드 명령어들도 포함되었다.

메모리에 저장된 큰 팩 2진화 10진법 수를 더하고, 빼고, 비교하는 ADD4S, SUB4S, CMP4S 명령어가 있었다. 4비트 니블을 회전시키는 ROL4, ROR4 명령어, 피연산자의 단일 비트를 테스트, 설정, 해제, 반전시키는 TEST1, SET1, CLR1, NOT1 명령어도 있었으나, 이후 i80386의 해당 명령어(BT, BTS, BTR, BTC)보다 효율이 낮고, 인코딩도 호환되지 않았다. 임의 길이 비트 필드 추출 및 삽입 명령어(EXT, INS)와, 바이트/워드 문자열 검색을 위한 REPE, REPNE를 수정, 조건이 참인 동안 반복하는 REPC, REPNC 접두사(SCAS, CMPS 사용)도 있었다.

V30 고유 명령어[9]80286에서 실행 시 무효 opcode 예외를 발생시키고, 80386 이후에는 인텔이 다른 명령어를 할당하여 오작동한다.

오퍼레이션 코드V30 명령어인텔 명령어
64REPNCFS:
65REPCGS:
66FPO2오퍼랜드 크기 프리픽스
67FPO2주소 크기 프리픽스
0F 10, 11, 18, 19TEST1SSE 명령어
0F 12, 13, 1A, 1BCLR1SSE 명령어
0F 14, 15, 1C, 1DSET1SSE 명령어
0F 16, 17, 1E, 1FNOT1SSE 명령어
0F 20ADD4SMOV dest, CRn
0F 22SUB4SMOV CRn, src
0F 26CMP4SMOV TRn, src
0F 28ROL4SSE 명령어
0F 2AROR4SSE 명령어
0F 31INSRDTSC
0F 39INS없음
0F 33EXTRDPMC
0F 3BEXT없음
0F FFBRKEMUD0


5. 2. 하드웨어적 특징

V20의 다이는 63,000개의 트랜지스터로 구성되었으며, 이는 8088 CPU의 29,000개보다 두 배 이상 많았다. 50%의 클럭 듀티 사이클로 설계되어, 8088에서 사용된 33% 듀티 사이클보다 효율적이었다. V20은 두 개의 16비트 폭의 내부 데이터 버스를 가지고 있어 두 개의 데이터 전송을 동시에 처리할 수 있었다. 이러한 차이점으로 V20은 같은 주파수에서 작동하는 인텔 8088보다 주어진 시간 안에 더 많은 명령을 일반적으로 완료할 수 있었다.

V20은 2마이크론 CMOS 기술로 제작되었다. 초기 버전은 5, 8, 10 MHz의 속도로 작동했다. 1990년, 제조 공정 기술의 업그레이드로 인해 성능이 향상되고 전력 소비가 감소된 V20H 및 V20HL이 출시되었다. 이후 버전은 12 및 16 MHz의 속도를 추가했다. V20HL은 또한 완전 정적이었으며, 클럭을 멈출 수 있었다.

V20은 내부적으로 16비트 폭으로 묘사되었다. 그것은 주소 버스의 하위 바이트와 같은 핀에 멀티플렉싱된 8비트 외부 데이터 버스를 사용했다. 20비트 폭의 주소 버스는 1 MB의 메모리를 주소 지정할 수 있었다.

V20은 인텔 8087 부동 소수점 장치 (FPU) 보조 프로세서와 호환되는 것으로 보고되었다. NEC는 자체 FPU인 NEC Vシリーズ#NEC_uPD72091|NEC V시리즈#NEC uPD72091jp을 설계했지만 생산에 이르기 전에 취소되었다. 이후 수정된 설계인 μPD72191을 설계했지만, 이 두 번째 부품이 얼마나 생산되었는지는 불분명하다.

5. 3. 법적 분쟁의 영향

인텔은 1982년 NEC를 상대로 μPD8086 및 μPD8088에 대한 소송을 제기했다가 법정 밖에서 해결했고, NEC는 인텔로부터 설계 라이선스를 받기로 합의했다. 1984년 말, 인텔은 V20과 V30의 마이크로코드가 8088 및 8086 프로세서에 대한 자사의 특허를 침해했다며 다시 NEC를 상대로 소송을 제기했다.

법원은 마이크로코드가 컴퓨터 프로그램에 해당하며 저작권으로 보호된다고 판시했다. 그러나 인텔이 모든 2차 공급원 칩에 적절한 표시를 하지 않아 저작권을 포기한 것으로 판단했다. 또한 NEC가 인텔의 마이크로코드를 단순히 복사하지 않았고, V20과 V30의 마이크로코드가 인텔의 특허를 침해하지 않을 정도로 충분히 다르다고 결정했다. NEC의 ''클린 룸'' 증거와 리버스 엔지니어링 사용이 인정되었다.

이러한 판결은 NEC가 독자적인 아키텍처를 개발하는 계기가 되었다. 특히, 마이크로코드 저작권 침해 문제를 피하기 위해 V33에서는 마이크로코드를 완전히 하드 와이어드 로직으로 대체하여 성능을 향상시켰다.

1984년 NEC는 V 시리즈가 인텔의 저작권을 침해하지 않는다는 것을 확인하는 소송(채무 부존재 확인 소송)을 제기했다. 인텔이 반소하면서 재판이 길어졌지만, 1989년에 V30은 i8086의 저작권을 침해하지 않는다는 판결을 받았다. 하지만, 이는 8086에 저작권 표시가 없어 해당 제품에 대해 저작권이 인정되지 않았기 때문이다. 한편, 마이크로코드에도 저작권이 있다는 것이 판시되어, 호환 프로세서의 제조가 어려워졌다. NEC는 86계 마이크로코드의 저작권 침해를 피하기 위해, 완전히 하드 와이어드화된 V33계로 이행했다.

5. 4. 임베디드 시스템 분야로의 진출

NEC는 V20·V30 CPU를 기반으로 주변 장치를 통합하여 임베디드 시스템 개발에 적합한 V40, V50 등을 출시했다[5]. 이들은 기존의 8086 응용 기기에서 여러 칩을 통합하여 대체하는 용도로 사용되었다. 예를 들어, PC-98LT나 PC-98HA에서 V40과 V50이 사용되었다.

V40과 V50에 내장된 주변 회로는 다음과 같다.

장치설명
클럭 제네레이터입력된 클럭 주파수를 2분주하여 CPU 내부와 외부에 공급한다.
프로그래머블 웨이트 제어 유닛속도가 느린 I/O나 메모리를 사용할 때 읽기 및 쓰기 버스 타이밍을 연장한다.
리프레시 제어 유닛DRAM 사용 시 자동으로 리프레시를 수행한다.
타이머/카운터 유닛 (μPD71054 서브세트)16비트 카운터 3개를 내장한 타이머 및 카운터이다.
시리얼 제어 유닛 (μPD71051 서브세트)비동기식 시리얼 통신 방식의 시리얼 통신을 수행한다.
인터럽트 제어 유닛 (μPD71059 서브세트)최대 8개의 하드웨어 인터럽트를 조정하여 CPU에 전달한다. 외부에 μPD71059를 추가하여 캐스케이드 연결도 가능하다.
DMA 제어 유닛 (μPD71071[16] 서브세트)4채널 DMA 유닛으로, 고속 I/O - 메모리 간 전송을 지원한다.



V40·V50을 기반으로 한 커스텀 CPU도 존재하는데, PC-88VA에 탑재된 μPD9002 (V50에 Z80 에뮬레이션 기능을 추가) 등이 있다.

V40, V50 계열 프로세서는 다음과 같다.


  • '''V40''' (μPD70208): V20에 8086 패밀리 호환 주변 I/F를 추가한 임베디드 용도 프로세서. 코어를 V20HL로 한 '''V40HL''' (μPD70208H)도 있다.
  • '''V41''' (μPD70270): V40HL과 동일한 개념으로, V20HL에 PC/XT용 주변 회로를 내장했다. 해외에서는 이를 사용한 PC/XT 호환기도 출시되었다.
  • '''V50''' (μPD70216): V30에 8086 패밀리 호환 주변 I/F를 추가한 임베디드 용도 프로세서. 코어를 V30HL로 한 '''V50HL''' (μPD70216H)도 있다. PC-98HA에서 사용되었다.
  • '''V51''' (μPD70280): V41과 동일하며, 코어가 V30HL이다.
  • '''V53''' (μPD70236): V50의 코어를 V33으로 변경했다.
  • '''V53A''' (μPD70236A): V53의 코어를 V33A로 변경했다.
  • '''V55PI''' (μPD70433): 80186 상당의 명령 세트와 주변 장치를 집적한 프로세서.


1990년대에 NEC는 독자 사양의 RISC 아키텍처인 V810을 개발했다. V805, V820, V821, V830, V850 패밀리로 전개되어 임베디드 시스템 시장에서 경쟁력을 확보했다.

참조

[1] 웹사이트 pPD70236 (V53) 16-Bit Microprocessor: High-Speed, High-Integration, CMOS http://bitsavers.inf[...] 2024-01-05
[2] 웹사이트 V55PI 16-BIT MICROPROCESSOR https://www.renesas.[...] 2024-01-18
[3] 웹사이트 NEC V55SC 16-bit Microprocessor Preliminary Data Sheet (O.D.No ID-8206A, March 1993) https://datasheet.da[...] 2024-01-21
[4] 서적 月刊アスキー別冊 蘇るPC-9801伝説 永久保存版 第2弾 2007年4月9日初版 「NEC V30開発秘話」
[5] 문서 8086/8088を単純にCMOS化した製品はNEC製には存在しない
[6] 문서 μPD70116データシート ドキュメントNo. IC-6660FおよびμPD70108データシート ドキュメントNo. IC-1827B・IC-6659D。この記述はμPD70108H/μPD70116Hデータシート ドキュメントNo. IC-3552Aからは削除されている。
[7] 문서 NECのアセンブラ「インターツール」(RA70116-I)などの他、PC-88VAのOS「PC-Engine」内蔵のデバッガがVシリーズのニーモニックだった
[8] 문서 一応、V30と80286の時点では、おのおのの拡張命令のコードはかち合わないようになっていたが、[[Intel 80386|80386]]では一部の拡張命令(MOV CR0など)がV30の動作の異なる拡張命令(ADD4Sなど)とかち合っている。そのため、そのような命令を用いたV30用ソフトウェアは80386では誤動作する
[9] 웹사이트 V30 16-BIT MICROPROCESSOR http://datasheets.ch[...]
[10] 문서 PC-9800シリーズ用V33アクセラレータはあった(拡張スロットに挿入するボード型のエム・エス・アイ製MIG98およびM3)
[11] 문서 16ビット Vシリーズ ユーザーズ・マニュアル 命令編 (ドキュメントNo. U11301JJ5V1UMJ1) 1ページおよび図 1-1
[12] 간행물 SEMICONDUCTOR SELECTIONGUIDE April 1999 (ドキュメントNo. X10679EJHV0SG00(17th wdition))
[13] 문서 V30MZユーザーズ・マニュアル(暫定) (ドキュメントNo. A13761JJ1V2UM00)
[14] 문서 80186互換のINM/OUTM(INSB/INSW/OUTSB/OUTSWに相当)とV30の特徴のINS/EXT(ビット操作命令)の4種の命令
[15] 웹사이트 もう一度CPUについて考えてみよう https://archive.org/[...] archive.org 1999-05-14
[16] 웹사이트 µPD71071 DMA Controller http://bitsavers.inf[...] 2024-02-20



본 사이트는 AI가 위키백과와 뉴스 기사,정부 간행물,학술 논문등을 바탕으로 정보를 가공하여 제공하는 백과사전형 서비스입니다.
모든 문서는 AI에 의해 자동 생성되며, CC BY-SA 4.0 라이선스에 따라 이용할 수 있습니다.
하지만, 위키백과나 뉴스 기사 자체에 오류, 부정확한 정보, 또는 가짜 뉴스가 포함될 수 있으며, AI는 이러한 내용을 완벽하게 걸러내지 못할 수 있습니다.
따라서 제공되는 정보에 일부 오류나 편향이 있을 수 있으므로, 중요한 정보는 반드시 다른 출처를 통해 교차 검증하시기 바랍니다.

문의하기 : help@durumis.com